package com.powerunion.datacollection.workflow.fsm;

import com.powerunion.datacollection.workflow.fsm.core.task.WFTaskContext;

public abstract class WFTask {

	protected WFTaskContext context;
	
	public abstract void run(); 
	public abstract void suspend();
	public abstract void abort();
	public abstract void terminate();
	public abstract void complete();
	public abstract void resume();
	public abstract void updateSubState();
	
	public void setContext(WFTaskContext context) {
		this.context = context;
	}
	
	public abstract String getStateName();
	public abstract int getStateNum();
	
	
}
